/*!
 *  \file       RealNumber.hpp
 *  \brief      Definizione della classe \c RealNumber
 *  \author     Davide Scola <S2299453@studenti.unige.it>
 *  \author		Minetti Alberto <S3064777@studenti.unige.it>
 *  \version    1.0
 *
 */


#ifndef _REAL_NUMBER_H
#define _REAL_NUMBER_H


#ifndef REAL_NUMBER_PRECISION

/*!
 *  \brief  precisione utilizzata nei calcoli floating point
 */
# define    REAL_NUMBER_PRECISION   ( 1.0e-11L )

#endif


/*!
 *  \brief      Definizione della classe \c RealNumber
 *
 *	Questa classe è un semplice typedef di \c WrapNumber < long double > con l'operatore di uguaglianza
 *	ridefinito in modo da ovviare ai problemi di arrotondazione floating point della macchina.
 *
 */
 class RealNumber : public WrapNumber< long double > {
	public :
        RealNumber( void );
        RealNumber( const long double );
        RealNumber( const WrapNumber< long double >& );
        
        using WrapNumber< long double >::operator= ;
        bool operator==( const WrapNumber< long double >& ) const;
};

#endif              /* _REAL_NUMBER_H */
